this.onpush = event => {
  console.log(event.data);
}

/**
 * PushMessageData 接口
 *    [Exposed = ServiceWorker, SecureContext]
 *    interface PushMessageData {
 *        ArrayBuffer arrayBuffer();
 *        Blob blob();
 *        any json();
 *        USVString text()
 *    }
 * arrayBuffer(): 返回一个内容为 bytes 的 ArrayBuffer
 * bolb(): 返回一个内容为 bytes ，类型没有提供的 Bold 对象。
 * json(): 返回以 utf-8 解码后的 bytes 作为参数的 JSON.parse 函数执行结果
 * text(): 返回 bytes 进行utf-8解码后的值
 */

/**
 * 扩展 ServiceWorkerGlobalScope 接口
 *    [Exposed = ServiceWorker, SecureContext]
 *    partial interface ServiceWorkerGlobalScope {
 *        attribute EventHandler onpush;
 *        attribute EventHandler onpushsubscriptionchange;
 *    }
 * onpush: 推送订阅收到推送消息时触发
 * onpushsubscriptionchange: 
 */